javascript
/**
* @param {number[]} nums
* @return {string[]}
*/
var summaryRanges = function (nums) {
if (nums.length === 0) return []
const result = []
let start = nums[0],
end = nums[0]
let gap = 1
for (let i = 1; i <= nums.length; i++) {
if (nums[i] === start + gap) {
gap++
end = nums[i]
continue
} else {
result.push(start === end ? start + '' : start + '->' + end)
start = end = nums[i]
gap = 1
}
}
return result
}